지역별 뉴스를 확인하세요.

많이 본 뉴스

광고닫기

컴퓨터 전공하겠다는데…단순 개발 능력 보다 문제 해결 능력 중요

  불과 수년만에 컴퓨터 프로그래밍이 자동차 운전같이 누구나 할 줄 알아야 하는 기술이 됐다. 10여년 전만 해도 컴퓨터 사이언스나 컴퓨터 엔지니어링 전공이 매우 단순했다. 당시에도 소프트웨어 개발자(소위 프로그래머)와 하드웨어 개발자가 구분됐지만 최근에는 세상이 복잡해지고 산업이 발달하면서 분야가 더 세분화 되고 있다. 컴퓨터 관련 학부 전공들에 대해서 살펴봤다.     컴퓨터 관련 전공은 크게 2가지로 나눌 수가 있다. 컴퓨터 사이언스(컴사)와 컴퓨터 엔지니어링(공학.컴공)이다. 하드웨어와 소프트웨어의 차이라고 볼 수 있다. 물론 하드웨어를 다루다 보면 소프트웨어를 하지 않을 수 없고 반대도 마찬가지다.  컴사의 주요 초점은 소프트웨어를 작성하는 것이다. 컴퓨터 소프트웨어는 학부모도 잘 알다시피 프로그래밍 코딩이다. 하지만 컴사의 목표는 코딩만이 아니다. 코딩은 일부분이고 코딩을 통한 문제 해결이라고 보면 된다고 김선호 박사(USC공대.빅데이타 전공)는 설명한다. "세상의 문제를 해결하는 방법을 구축합니다. 물론 컴퓨터를 이용하는 경우죠."   특히 요즘은 빅데이타를 다루는 프로그래밍까지 응용되면서 활용 범위가 넓어지고 있다. 21세기에 컴퓨터를 이용하지 않는 분야가 없으므로 세상의 모든 문제를 해결한다는 것에 이의를 제기할 사람은 많지 않다. 컴사에는 큰 범주로 무엇인가 계산하는 컴퓨테이션(전산화)이라는 분야를 비롯해, 단순 사무 프로그램, 기계간을 연결하는 프로그램, 로봇을 제어하는 로보틱스 등이 컴사의 큰 영역이다. 이 분야는 세상에서 컴퓨터를 활용하면 할수록 커져서 이제는 모든 문명기기가 컴사의 영역이 됐다.  예를 들어 전기차가 아닌 단순 차량만 해도 컴퓨터가 4대가 들어간다. 여기에 사용되는 차량 통제 프로그램이 컴사영역이다. 이외 공장의 생산라인, 버스이동 모니터링 등 우리가 눈으로 확인할 수 있는 분야와 미처 알 수 없는 분야까지 따져보면 헤아릴 수 조차 없을 만큼 많다.  컴사의 문제해결 솔루션을 또한 예로 들면, AI, 바이오컴퓨팅, 컴퓨터시스템, 사이버보안, 데이터분석, 게임개발, 모빌웹 애플리케이션, 프로그래밍언어, 소프트웨어엔지니어링이다. 이에 비해 컴공은 공과분야로 하드웨어를 다룬다는 점에서 이해가 쉽다. 메모리, CPU라고 부르는 부품을 포함한 칩같은 반도체 분야, 여기에는 설계부터 제작, 연구 개발까지 모두 포함된다. 컴퓨터를 설계하는 컴퓨터 아키텍처, 컴퓨터를 서로 연결해주는 네트워킹 하드웨어, 간단한 자동판매기부터 큰 공장의 시스템까지 포함하는 시퀀스 프로세싱 등의 다양한 분야가 해당 영역이다.     ▶컴퓨터 전공 커리큘럼   컴공과 컴사가 배우는 컴퓨터랭귀지는 예전에는 C부터 시작했는데 최근에는 조금 세분됐다. 컴공은 하드웨어와 가까운 C를 여전히 배우고 있다. 컴사의 경우, 파이썬, 자바, 자바스크립트 같은 응용랭귀지부터 데이타베이스 등을 주로 배운다.  특히 컴사의 3~4학년에는 데이타베이스, 그래픽스, AI(인공지능), 머신러닝을 접하게 된다. 그래서 컴사 졸업자들의 경우, 특정 프로젝트를 맡아 실제 문제 해결을 해보는 것으로 논문을 대신한다. 김선호 박사는 "학부에서 세부 전공을 모두 다루지는 못한다"면서 "7~8개 과목을 듣고 역량을 키우게 된다"고 말했다. 그래서 컴사 전공자의 경우, 학사학위 소지자 보다는 석사 학위 소지자가 역량에 따라 다르지만 고연봉을 받고 바로 현장에 투입된다. 학부 출신은 무엇이든 맛만 보고 온 경우가 많아서 현장에 직접 투입하기에는 경험이 부족하다고 전한다.     ▶컴퓨터 랭귀지   컴사가 주로 배우는 컴퓨터 랭귀지는 컴퓨터를 움직이는 프로그램이다. 요즘은 한 사람이 소프트웨어의 처음부터 끝까지 만들어 내던 예전과는 달리, 복잡도와 범위가 넓어져서 소프트웨어 전체를 만드는 것은 불가능하다. 따라서, 컴퓨터 랭귀지는 컴퓨터와의 의사소통 뿐 아니라 소프트웨어 엔지니어간의 의사소통을 위한 언어라고 보는 것이 맞다. 산업의 발달로 컴퓨터 랭귀지의 종류는 다양해져서 목적과 사용되는 플랫폼에 적합한 언어가 많이 사용되고 있다. 다행스러운 것은 누구든 랭귀지 하나에 능숙해지면 다른 랭귀지를 배우고 활용하는 것이 무척 쉬워진다.  컴퓨터 랭귀지를 할 줄 안다는 것은 사람 언어와 컴퓨터 언어의 통역이 가능해진다는 것으로 능력자가 되는 것이다. 다시 한번 강조하지만, 랭귀지의 궁극적인 목적은 세상에 없던 새로운 것을 만드는 것이다. 창의적인 생각과 남들이 해본 적 없는 접근이 훌륭한 컴퓨터 프로그래밍이다.     ▶졸업 후 직종 컴공의 경우, 하드웨어 관련 분야에서 우선적으로 일할 수 있다. 반면 컴사는 대부분 소프트웨어 엔지니어, 소프트웨어 디벨로퍼로 일한다고 알려져 있지만 현실은 조금 다르다. 김선호 박사는 "사실 컴퓨터 프로그래머의 삶은 단조롭기 이를 데 없다"며 "하지만 컴사 전공자가 프로그래머만 되는 것이 절대 아니라는 것을 강조하고 싶다"고 말했다. 컴퓨터를 이용해서 세상의 모든 해결책을 찾아내야 하는 직업이기에 단순한 프로그래머가 아니고 솔루션 디벨로퍼(문제 해결 개발자)다. 한마디로 컴퓨터를 이용하는 업종에서는 어디나 필요하다. 그곳에서 각자의 프로젝트를 수행한다. 그러므로 특정한 분야를 한정 해서는 안된다.   ▶개발자의 일상 하루 종일 코딩하고 디버깅(오류 수정)하고 트렌드 공부하는 것이 일반적인 소프트웨어 엔지니어의 일상이지만 현장 경험이 많은 전문가에 의하면, 소프트웨어 엔지니어도 많은 시간을 회의에 참석해야 한다. 다른 엔지니어와의 회의나 상사인 총괄 매니저와의 회의도 있다.  또한 고객과의 회의도 가능하다. 이렇게 다양한 종류의 회의에 참석하다 보면, 하루 종일 실제로 코딩은 하나도 못하는 날도 생긴다. 하지만 이해 관계자들과 긴밀한 의사소통 없이 좋은 소프트웨어를 만드는 것은 불가능하기 때문에 회의는 소프트웨어 엔지니어의 중요한 일상 중의 하나다. 이렇게 회의가 소프트웨어 엔지니어의 중요 일과이기에 의사소통 능력이 매우 중요하다. 자신이 해야할 일을 정확하게 이해하고 주어진 리소스와 시간에 따라 계획을 수립하는 일은 의사소통 능력이 없이는 불가능하다. 컴퓨터 랭귀지 뿐 아니라, 커뮤니케이션 스킬의 중요성이 강조되는 이유다. 김선호 박사는 "특히 커뮤니케이션 스킬이 탁월한 경우 고위직에 올라가는 경우도 많다"면서 "반면 코딩을 아무리 잘해도 몇몇 천재들 빼고는 자신의 코딩이나 프로젝트를 제대로 설명하지 못하면 실력을 제대로 발휘할 기회를 얻기 어렵다"고 덧붙였다.     ▶컴퓨터 전공자 기본 성격 컴퓨터 전공자라면 흔히 떠올리는 이미지가 있다. 어두운 방안에서 밤새도록 컴퓨터 앞에 앉아 어려운 문제를 풀고 있는 사람이다. 물론 이런 이미지는 어느 정도는 컴퓨터 프로그래머 일상의 일부분을 보여주기도 한다.  그러나 훌륭한 프로그래머는 밤새워 문제를 푸는 범생이(nerd)의 이미지에서 머무르지 않는다. 소속 회사의 매니지먼트 팀과 세일즈 팀, 고객들과 끊임없는 의사소통을 통해서 주어진 환경 아래서 성과를 최대한 끌어 낼 수 있는 프로그램을 기획할 수 있어야 한다.  장병희 기자능력 컴퓨터 컴퓨터 소프트웨어 컴퓨터 엔지니어링 컴퓨터 프로그래밍

2023-07-30

[기고] 컴퓨터 프로그램의 선구자, 빌 게이츠

마이크로소프트(MS)의 창업주인 빌 게이츠는 워싱턴주 시애틀 출생으로 그는 이미 13세 때부터 컴퓨터 소프트웨어 프로그램을 이용해 ‘틱 택 토(Tic-Tac-Toe)’게임을 했을 정도였다.   그가 하버드 대학을 중퇴하고 친구인 폴 앨런과 함께 1975년 개인용 컴퓨터 소프트웨어 회사인 마이크로소프트를 창업한 것은 잘 알려진 일이다.  빌 게이츠는  컴퓨터로 프로그램을 보다 쉽고 편리하게 사용하기 위해서는 소형(Micro) 프로그램의 개발이 기본이라고 생각했다.  이후 1986년 컴퓨터 프로그램의 역학적 기억장치를 개발한 네이탄 박사가  부회장으로 합류하면서 마이크로소프트는 비약적으로 성장한다. 컴퓨터 프로그램 기억장치를 통해 문서처리, 전자백과사전, 은행의 전산시스템 개발 등에 박차를 가했다. 특히 고객들의 반응을 통해 개발 주제를 결정하는 등 새로운 기술을 기회로 활용했다.     지금은 인터넷 서비스를 기반으로 하는 컴퓨터 네트워크가 가장  중요한 정보망이 됐다. 컴퓨터와 연결된 다른 정보기구들은 빠른 속도로 변화하며 놀라운 통신 혁명을 만들어 내고 있다. 하지만 1970년대만 해도 인터넷이 이렇게 빨리 발전할 줄은 예상하지 못했다. 최초로 개인용 소형 컴퓨터가 개발되었지만 수백만 대의 컴퓨터가 인터넷으로 서로 연결될 것을 생각하기에는 어려운 시절이었다. 이후 1980년대, 1990년대에도 컴퓨터 활용이 점차 증가했지만 지금과 같은 엄청난 규모의 전자통신망이 주류가 될 것이라고는 예상하지 못했다.     빌 게이츠는 1993년 말 신입사원 선발을 위해 코넬대학을 방문했을 때 학교가 인터넷을 통해 소통하고 있는 환경에 놀라움을 느꼈다. 전자공학과뿐만 아니라 다른 모든 학과가 학사 일정, 학생과 교수들의 인명록, 전공 관련 목록, 새로운 강의록 등을 인터넷을 통해 발표하고 있었기 때문이다. 초고속 컴퓨터를 통해 모든 학생의 컴퓨터와 연결되어 있었다. 빌 게이츠의 코넬 방문 이후인 1994년 마이크로소프트는 인터넷 개발과 지원에 당시 거액인 연간 100만 달러의 예산을 사용하기로 결정했다.     월스트리트저널(WSJ)은 ‘1970년 중반 이후 컴퓨터의 미래를 정확하게 전망한 인물은 빌 게이츠 밖에 없다’며 ‘그가 닦아 놓은 정보의 대로는 우리의 발걸음을 경쾌하게 만든다’고 평가했다.     오늘날 인류의 지식 용량은 500년 전과는 비교조차 하기 어렵다. 또한 지속적인 정보의 저장이 필요해 책이나 문서로는 불가능하다. 컴퓨터의 등장으로 인해 정보의 보관뿐만 아니라 분류 작업도 편하고 쉽게 할 수 있게 됐다. 이 모든 일이 컴퓨터 프로그램의 선구자인 빌 게이츠가 있었기에 가능한 일이었다. 이를 두고 뉴욕타임스(NYT)는 ‘빌 게이츠의 컴퓨터 혁명은 우리의 미래를 밝혀줬다’고 평가하기도 했다.     마이크로소프트의 미래와 관련 빌 게이츠는 “사람들은 인터넷은 우리와 함께 계속 발전할 것으로 생각하고 있지만 문제는 환경이나 기술 변화에 충분한 대비가 없었다”고 지적하면서도 “우리는 항상 즐겁게 많은 사람을 고용하고 현명한 사람들과 함께 일하고 있으며, 그들로부터 배우고 있다”며 낙관적인 입장을 보였다.      그는 또 “컴퓨터에 대해 나보다 더 잘 알고 있는 젊은 직원도 많다”며 “경험 많은 기존 직원들과 젊은 직원들의 신념이 결합하고 고객들의 요구를  주의 깊게 듣는다면  마이크로소프트의 미래는 밝을 것”이라고 말했다.     빌 게이츠는 2014년 마이크로소프트 회장직에서 물러나 기술자문위원을 맡았다. 그리고 2000년에 설립한 개인 자선재단인 빌&멜린다 게이츠 재단 운영에 전념하고 있다.     빌&멜린다 게이츠 재단은 의류 분야의 연구개발 전염병 예방 등을 위해 활동하는 세계 최대 민간단체다.  김기천 / LA 카운티 중소기업자문관기고 프로그램 컴퓨터 컴퓨터 프로그램 개인용 컴퓨터 컴퓨터 소프트웨어

2022-11-06

코딩 실력만큼 소통 능력 키우는 것도 중요

  ━   컴퓨터 전공 모든 것     '컴공' 전공은 하드웨어 위주 '컴사' 는 소프트웨어 솔루션   단순 프로그램 개발자 아닌 ‘문제 해결능력자’로 바뀌어   수십년전 지금의 학부모들이 대학생일때는 컴퓨터사이언스나 컴퓨터엔지니어링 전공이 매우 단순했다. 당시에도 소프트웨어 개발자(소위 프로그래머)와 하드웨어 개발자가 구분됐지만 최근에는 세상이 복잡해지고 산업이 발달하면서 분야가 더 세분화 되고 있다. 우선 소프트웨어 개발자도 쓰는 랭귀지가 엄청나게 늘어나서 모두 다 잘하는 사람이 별로 없을 정도다. 컴퓨터 관련 학부 전공들에 대해서 알아봤다.     본문컴퓨터 관련 전공은 크게 2가지로 나눌 수가 있다. 컴퓨터 사이언스(컴사)와 컴퓨터 엔지니어링(공학·컴공)이다. 이를 제대로 구분할 수 있다면 설명은 이미 절반이 끝났다고 볼 수 있다.     컴사는 일단 소프트웨어를 작성하는 것이다. 컴퓨터 소프트웨어는 학부모들도 잘 알다시피 프로그래밍 코딩이다. 하지만 컴사의 목표는 코딩만이 아니다. 코딩은 일부분이고 코딩을 통한 문제 해결이라고 보면 된다고 김선호 박사(USC공대)는 설명한다.   “세상의 문제를 해결하는 방법을 구축합니다. 물론 컴퓨터를 이용하는 경우죠.”   그런데 21세기에 컴퓨터를 이용하지 않는 분야가 없으므로 세상의 모든 문제를 해결한다는 것에 이의를 제기할 사람은 많지 않을 것이다. 컴사에는 큰 범주로 무엇인가 계산하는 컴퓨테이션(전산화)이라는 분야를 비롯해, 단순 사무 프로그램, 기계간을 연결하는 프로그램, 로봇을 제어하는 로보틱스 등이 컴사의 큰 영역이다. 이 분야는 세상에서 컴퓨터를 활용하면 할수록 커져서 이제는 모든 문명기기가 컴사의 영역이 됐다.     예를 들어 전기차가 아닌 단순 차량만 해도 컴퓨터가 4대가 들어간다. 여기에 사용되는 차량 통제 프로그램이 컴사영역이다. 이외 공장의 생산라인, 버스이동 모니터링 등 우리가 눈으로 확인할 수 있는 분야와 미처 알 수 없는 분야까지 따져보면 헤아릴 수 조차 없을 만큼 많다.     컴사의 문제해결 솔루션을 또한 예로 들면, AI, 바이오컴퓨팅, 컴퓨터시스템, 사이버보안, 데이터분석, 게임개발, 모빌웹 애플리케이션, 프로그래밍언어, 소프트웨어엔지니어링이다.   이에 비해 컴공은 공과분야로 하드웨어를 다룬다는 점에서 이해가 쉽다. 메모리, CPU라고 부르는 부품을 포함한 칩같은 반도체 분야, 여기에는 설계부터 제작, 연구 개발까지 모두 포함된다. 컴퓨터를 설계하는 컴퓨터 아키텍처, 컴퓨터를 서로 연결해주는 네트워킹 하드웨어, 간단한 자동판매기부터 큰 공장의 시스템까지 포함하는 시퀀스 프로세싱 등의 다양한 분야가 해당 영역이다.     ▶컴퓨터 전공 커리큘럼   컴공과 컴사가 배우는 컴퓨터랭귀지는 예전에는 C부터 시작했는데 최근에는 조금 세분됐다. 컴공은 하드웨어와 가까운 C를 여전히 배우고 있다. 컴사의 경우, 파이썬, 자바, 자바스크립트 같은 응용랭귀지부터  데이타베이스 등을 주로 배운다.     특히 컴사의 3~4학년에는 데이타베이스, 그래픽스, AI(인공지능), 머신러닝을 접하게 된다. 그래서 컴사 졸업자들의 경우, 특정 프로젝트를 맡아 실제 문제해결을 해보는 것으로 논문을 대신한다. 김선호 박사는 “학부에서 세부전공을 모두 다루지는 못한다”면서 “7~8개 과목을 듣고 역량을 키우게 된다”고 말했다. 그래서 컴사 전공자의 경우, 학사학위 소지자 보다는 석사 학위 소지자가 역량에 따라 다르지만 고연봉을 받고 바로 현장에 투입된다. 학부 출신은 무엇이든 맛만 보고 온 경우가 많아서 현장에 직접 투입하기에는 경험이 부족하다고 전한다.   ▶컴퓨터 랭귀지는 무엇인가   컴사가 주로 배우는 컴퓨터 랭귀지는 컴퓨터를 움직이는 프로그램이다. 요즘은 한 사람이 소프트웨어의 처음부터 끝까지 만들어 내던 예전과는 달리, 복잡도와 범위가 넓어져서 소프트웨어 전체를 만드는 것은 불가능하다. 따라서, 컴퓨터 랭귀지는 컴퓨터와의 의사소통 뿐 아니라 소프트웨어 엔지니어들간의 의사소통을 위한 언어라고 보는 것이 맞다.     산업의 발달로 컴퓨터 랭귀지의 종류는 다양해져서 목적과 사용되는 플랫폼에 적합한 언어가 많이 사용되고 있다. 다행스러운 것은 누구든 랭귀지 하나에 능숙해지면 다른 랭귀지를 배우고 활용하는 것이 무척 쉬워진다.     컴퓨터 랭귀지를 할 줄 안다는 것은 사람언어와 컴퓨터언어의 통역이 가능해진다는 것으로 능력자가 되는 것이다. 다시 한번 강조하지만, 랭귀지의 궁극적인 목적은 세상에 없던 새로운 것을 만드는 것이다. 창의적인 생각과 남들이 해본 적 없는 접근이 훌륭한 컴퓨터 프로그래밍이다.     ▶졸업 후 어떤 직종에서 일하나   컴공의 경우, 하드웨어 관련 분야에서 우선적으로 일할 수 있다. 반면 컴사는 대부분 소프트웨어 엔지니어, 소프트웨어 디벨로퍼로 일한다고 알려져 있지만 현실은 조금 다르다.   김선호 박사는 “사실 컴퓨터 프로그래머의 삶은 단조롭기 이를데 없다”며 “하지만 컴사 전공자가 프로그래머만 되는 것이 절대 아니라는 것을 강조하고 싶다”고 말했다.   컴퓨터를 이용해서 세상의 모든 해결책을 찾아내야 하는 직업이기에 단순한 프로그래머가 아니고 솔루션디벨로퍼다. 한마디로 컴퓨터를 이용하는 업종에서는 어디서나 필요하다. 그곳에서 각자의 프로젝트를 수행한다. 그러므로 특정한 분야를 한정 지어서는 안된다.   ▶소프트웨어 엔지니어의 일상   하루 종일 코딩하고 디버깅하고 트렌드 공부하는 것이 일반적인 소프트웨어 엔지니어의 일상이지만 현장 경험이 많은 사무엘 김 박사(IF연구소장)에 의하면, 소프트웨어 엔지니어도 많은 시간을 회의에 참석한다. 다른 엔지니어와의 회의나 상사인 총괄 매니저와의 회의도 있다.     또한 고객과의 회의도 가능하다. 이렇게 다양한 종류의 회의에 참석하다보면, 하루 종일 실제로 코딩은 하나도 못하는 날도 생긴다. 하지만 이해 관계자들과 긴밀한 의사소통 없이 좋은 소프트웨어를 만드는 것은 불가능하기 때문에 회의는 소프트웨어 엔지니어의 중요한 일상중의 하나다.   이렇게 회의가 소프트웨어 엔지니어의 중요 일과이기에 의사소통 능력이 매우 중요하다. 자신이 해야할 일을 정확하게 이해하고 주어진 리소스와 시간에 따라 계획을 수립하는 일은 의사소통 능력이 없이는 불가능하다. 컴퓨터 랭귀지 뿐 아니라, 커뮤니케이션 스킬의 중요성이 강조되는 이유이다.   김선호 박사는 “특히 커뮤니케이션 스킬이 탁월한 경우 고위직에 올라가는 경우도 많다”면서 “반면 코딩을 아무리 잘해도 몇몇 천재들 빼고는 자신의 코딩이나 프로젝트를 제대로 설명하지 못하면 실력을 제대로 발휘할 기회를 얻기 어렵다”고 덧붙였다.   ▶컴퓨터 전공자 기본 성격   컴퓨터 전공자라면 흔히 떠올리는 이미지가 있다. 어두운 방안에서 밤새도록 컴퓨터 앞에 앉아 어려운 문제를 풀고 있는 사람이다. 물론 이런 이미지는 어느 정도는 컴퓨터 프로그래머 일상의 일부분을 보여주기도 한다.     그러나 훌륭한 프로그래머는 밤새워 문제를 푸는 너드(nerd)의 이미지에서 머무르지 않는다. 소속 회사의 매니지먼트 팀과 세일즈 팀, 고객들과 끊임없는 의사소통을 통해서 주어진 환경 아래서 성과를 최대한 끌어 낼 수 있는 프로그램을 기획할 수 있다.  장병희 기자코딩 실력 본문컴퓨터 관련 컴퓨터엔지니어링 전공 컴퓨터 소프트웨어

2022-02-20

많이 본 뉴스




실시간 뉴스